//
//  SYRequestAPI.h
//  SanYiTeaching
//
//  Created by 郑浩然 on 2019/5/2.
//  Copyright © 2019年 SanYi. All rights reserved.
//

#import <Foundation/Foundation.h>


/**
 请求成功回调
 
 @param responseObject 请求数据
 */
typedef void(^SuccessBlock)(id responseObject);

/**
 请求失败
 
 @param error 失败信息
 */
typedef void(^FailBlock)(NSError *error);

@interface SYRequestAPI : NSObject
/**
 post请求
 
 @param url url
 @param parameter 参数
 @param success 成功
 @param fail 失败
 */
+ (void)postDataFromURLScheme:(NSString *)url
          parameterDictionary:(id)parameter
                      success:(SuccessBlock)success
                         fail:(FailBlock)fail;



+ (void)bb_postDataFromURLSecheme:(NSString *)url
              parameterDictionary:(id)parameter
                          success:(SuccessBlock)success
                             fail:(FailBlock)fail;

+ (void)bb_postTXDataFromURLSecheme:(NSString *)url
                parameterDictionary:(id)parameter
                            success:(SuccessBlock)success
                               fail:(FailBlock)fail;
/**
 get请求
 
 @param url 链接
 @param parameter 参数
 @param success 11
 @param fail 11
 */
+ (void)getDataFromURLScheme:(NSString *)url
         parameterDictionary:( NSDictionary *)parameter
                     success:(SuccessBlock)success
                        fail:(FailBlock)fail;

/**
 上传头像

 @param image 图片
 @param postUrl 上传的URL
 @param parama 参数
 @param acountID 账户ID
 @param success 成功
 @param fail 失败
 */
+ (void)uploadFileRequest:(NSArray *)image andURL:(NSString *)postUrl andParama:(NSDictionary *)parama andAcountID:(NSString *)acountID success:(SuccessBlock)success fail:(FailBlock)fail;

/**
 发送推送的接口

 @param url 连接
 @param parameter 参数
 @param success 成功失败
 @param fail 0
 */
+ (void)postPushFromUrlScheme:(NSString *)url
                parameterDict:(NSDictionary *)parameter
                      success:(SuccessBlock)success
                         fail:(FailBlock)fail;


/**
 上传图片

 @param url 链接
 @param parameters 参数
 @param images 图片数组
 @param name 文件对应服务器上的字段
 @param fileName 文件名
 @param progress 上传进度信息
 @param success 1
 @param fail 0
 */
+ (void)uploadWithUrl:(NSString *)url
           parameters:(id)parameters
               images:(NSArray *)images
                 name:(NSString *)name
             fileName:(NSString *)fileName
             progress:(NSString *)progress
              success:(SuccessBlock)success
                 fail:(FailBlock)fail;

/**
文件上传

@param file 文件
@param fileType 文件类型（图片(Image)：1；视频(Video)：2；文档(Doc)：3；）
@param business 文件业务类型（1.微课资源）
@param success 1
@param fail 0
*/
+(void)creatingUserHeaderUpdateFile:(NSArray *)file
fileType:(NSString *)fileType
 fileBusinessType:(NSString *)business
fileName:(NSString *)FileName
 success:(SuccessBlock)success
  fail:(FailBlock)fail;

@end
